/**
 * FileName: NettyProperties
 * Author: Mr.Wang
 * Date: 2025/10/15 15:32
 * Description:
 * History:
 */
package org.test.device.config.netty;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 〈一句话功能简述〉<br>
 * 〈netty服务配置〉
 *
 * @author Mr.Wang
 * @create 2025/10/15
 * @since 1.0.0
 */
@Data
@Component
@ConfigurationProperties(prefix = "netty")
public class NettyProperties {

    // Netty 服务绑定的 IP 地址
    private String serverHost;

    // 服务端口
    private int port = 8888;

    // Boss 线程组数量（默认 CPU 核心数）
    private int bossThreadCount = Runtime.getRuntime().availableProcessors();

    // Worker 线程组数量（默认 CPU 核心数 * 2）
    private int workerThreadCount = Runtime.getRuntime().availableProcessors() * 2;

    // 重连延迟时间（秒）
    private int reconnectDelay = 5;

    // 连接超时时间（毫秒）
    private int connectTimeout = 30000;

    // 最大帧长度（用于防止粘包拆包，单位：字节）
    private int maxFrameLength = 65535;
}